// src/main/java/com/cupk/dtos/UpdateProjectRequest.java (新增文件)

package com.cupk.dtos;

import jakarta.validation.constraints.DecimalMin;
import jakarta.validation.constraints.Size;
import lombok.Data;

import java.math.BigDecimal;
import java.time.LocalDate;

/**
 * 更新项目信息的请求DTO。
 * 字段均为可选，因为更新操作可能只修改部分字段。
 */
@Data
public class UpdateProjectRequest {
    @Size(max = 200, message = "项目名称不能超过200个字符")
    private String projectName;

    @Size(max = 50, message = "项目代码不能超过50个字符")
    private String projectCode;

    @Size(max = 2000, message = "项目描述不能超过2000个字符")
    private String description;

    private LocalDate startDate;
    private LocalDate endDate;

    private String status; // 例如：IN_PROGRESS, COMPLETED, ON_HOLD, REJECTED

    @DecimalMin(value = "0.00", message = "预算金额不能为负数")
    private BigDecimal budgetAmount;

    private Long principalInvestigatorId;
}